package com.spsa.vista.controladores;

import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import com.spsa.excepciones.RecuperarDatosException;
import com.spsa.negocio.utilidades.UtilArchivos;
import com.spsa.persistencia.dao.ReporteDao;
import com.spsa.persistencia.entidades.Reporte;

@ManagedBean(name = "historialReportes")
@ViewScoped
public class ControladorHistorialReportes {
	@EJB
	private ReporteDao reporteDao;
	private List<Reporte> reportes;
	private String textoReporte;

	@PostConstruct
	public void inicializar() {
		try {
			reportes = reporteDao.listar();
			textoReporte = "";
		}
		catch(RecuperarDatosException e) {
			mostrarPaginaError();
		}
	}


	private void mostrarPaginaError() {
		try {FacesContext.getCurrentInstance().getExternalContext().redirect("error.xhtml");}
		catch(IOException e2){}
	}

	public void cargarReporte(Reporte reporte) {
		File archivoReporte = UtilArchivos.convertirBytesAFile(reporte.getArchivo());
		textoReporte = UtilArchivos.obtenerTextoDeFile(archivoReporte);
	}

	public String getTextoReporte() {
		return textoReporte;
	}

	public void setTextoReporte(String textoReporte) {
		this.textoReporte = textoReporte;
	}

	public List<Reporte> getReportes() {
		return reportes;
	}

	public void setReportes(List<Reporte> reportes) {
		this.reportes = reportes;
	}
}
